# [Continuum][continuum-download] – mapping environmental hazards

[![Build Status][travis-image]][travis-url]
[![GitHub version](https://badge.fury.io/gh/look4ss%2Fcontinuum_android.svg)](https://badge.fury.io/gh/look4ss%2Fcontinuum_android)
## What is Continuum?
Continuum is an application created in Santa Catarina, it was a project for a high school work in 2018, developed between mid September and late November. This project aims to provide the possibility of mapping/reporting environmental issues in urban spaces through markers that can be added to the city's map by the application users. These markers stay on the map, then other users can interact with them, when clicking on one of these users-added points its informations are displayed in another page of the application. The users need to create an account and log in to be able to interact with the application (by contributing to the map, for example). I will maintain this project, so it will receive commits in the future to fix bugs, add new features and make improvements.

  the map                             |  account menu
:------------------------------------:|:--------------------------------------:
![](https://i.imgur.com/rhMVs22.png)  |  ![](https://i.imgur.com/jAIPCTM.png)
  one of the reports                  |  login activity
![](https://i.imgur.com/NtKIfPN.png)  |  ![](https://i.imgur.com/bYhaQkR.png)

## Steps for a working build
* Download (or git clone) this git repository.
* Open it as a project in the Android Studio IDE.
* Set your Android SDK path (sdk.dir=YOUR/SDK/PATH) into the local.properties file.
* Get your own google-services.json from Firebase and copy into the "app" directory.
* Get your own Google Maps API key and paste it to its place in the app/src/main/AndroidManifests.xml file.
* Go to app/src/main/java/look4ss/aplicativo/variaveisGlobais.java and change the global variables to match with your Firebase storage URL and directories scheme.
* (optional) Go to app/src/main/java/look4ss/aplicativo/variaveisGlobais.java and change the global variables to match with your server's URL and directories accordingly.
* Done, now you can modify the source code as you wish and compile your own builds of this application.

###### the optional step is directed exclusively to the ones who are hosting the server-side APIs on their own webserver.
###### Feel free to contact me at look4ss@protonmail.com (e-mail) or @look4zz (Telegram) if you face any problem following the steps above.

## Contributing
One can contribute to the project by:
* Reporting bugs and suggesting new features.
* Pointing translation's bad grammar.
* Helping with translations or art (e.g. icons, logos).
* Sending debugging logs when the app crashes on your device to help me to fix bugs.
* Contributing with good changes to the code.

You can contribute with this source code by sending your patches the following way:
* Fork this repository.
* Create your own branch.
* Commit your changes.
* Push your changes.
* Submit a new pull request to my repository.

## Release History
* 0.81.4.1
    * CHANGE: color of the "+" button changed to a deeper blue (from #6ecee9 to #275869)
    * FIX: app was totally broken as of v0.81.4, everything is alright now.
    * FIX: countless translation issues are now fixed.
    * FIX: improved location detection set, by now I really hope it will fix some problems in specific devices.
    * FIX: fixed a bug where changing the password to a new and too short one would look like successful even that it is not actually changed.
    * FIX: fixed a bug where the location stills in use even when the app is just opened in background.
* 0.81.4
    * ADD: the whole app is now translated to English and Spanish languages. Currently supporting English, Portuguese and Spanish.
    * NOTE: this version source code is untested, unusable and maybe not even compile successfully, v0.81.4.1 may fix everything.
* 0.81.3
    * ADD: you can delete your account, but now you have the option to delete all of your reports with it.
    * ADD: new map design patterns.
    * ADD: two new map themes (dark and light), which automatically changes according to day/night.
    * CHANGE: updated libs.
    * NOTE: this is the first version which source code was seriously published.
* 0.81.2
    * ADD: new icons.
    * ADD: now you can open images in fullscreen and zoom it.
    * CHANGE: updated libs.
    * CHANGE: the buttons' default color is now something like a navy blue, far away from the good old yellow.
    * FIX: the bug that made users need to reload the home page through the sidebar to make the map load properly is now fixed.
    * FIX: various minor bugs are now fixed.
* 0.81.1
    * ADD: now the application has a name ("Continuum").
    * ADD: now you can add profile photos and names.
    * ADD: introducing the account menu, where users can edit their account details.
    * CHANGE: location is now read at the time it is requested, preventing the reported location from being some old cached one.
    * CHANGE: installation size reduced by compiling the app as Android bundle instead of legacy apk.
    * CHANGE: improved location accuracy.
    * CHANGE: a fancy glitch effect was added to the splash screen animation.
    * FIX: various bugs are now fixed.
    * FIX: server-side APIs optimized.
* 0.81
    * ADD: now you have the option to delete your account.
    * ADD: new splash screen animation.
    * ADD: now the app can be used anywhere the user is, no more city restriction.
    * ADD: now you can customize your profile (set your name, set your picture, change your password and/or e-mail).
    * CHANGE: now the add button is out of the sidebar, you can see it floating on the lower right of the map.
    * CHANGE: new server, the old one was slow and caused the uploads to take so much longer. Past builds will no longer work because the old server is now offline.
    * CHANGE: updated libs.
    * CHANGE: minor layout improvements.
    * FIX: fixed crash during account registration.
    * FIX: the delay when touching the "done" button is now fixed.
* 0.80
    * first public avaible build.

## Third-party code (libraries)
* Android-SimpleLocation ([Apache License 2.0](https://github.com/delight-im/Android-SimpleLocation/blob/master/LICENSE))
* picasso ([Apache License 2.0](https://github.com/square/picasso/blob/master/LICENSE.txt))
* jsoup ([MIT License](https://jsoup.org/license))
* Android-gif-drawable ([MIT License](https://github.com/koral--/android-gif-drawable/blob/dev/LICENSE))
* PhotoView ([Apache License 2.0](https://github.com/chrisbanes/PhotoView/blob/master/LICENSE))
* CircleImageView ([Apache License 2.0](https://github.com/hdodenhof/CircleImageView/blob/master/LICENSE.txt))
* Commons IO ([Apache License 2.0](https://commons.apache.org/proper/commons-io))
* Android-SpinKit ([MIT License](https://github.com/ybq/Android-SpinKit/blob/master/LICENSE))
* TastyToast ([Apache License 2.0](https://github.com/yadav-rahul/TastyToast#license))
* Android-Image-Cropper ([Apache License 2.0](https://github.com/ArthurHub/Android-Image-Cropper/blob/master/LICENSE.txt))
* The Firebase APIs ([Apache License 2.0](https://github.com/firebase/firebase-android-sdk/blob/master/LICENSE))


[travis-image]: https://img.shields.io/travis/dbader/node-datadog-metrics/master.svg?style=flat-square
[travis-url]: https://travis-ci.org/dbader/node-datadog-metrics
[continuum-download]: https://play.google.com/store/apps/details?id=look4ss.aplicativo
